package com.kfm.pm;

public class Demo04 {

    public static void main(String[] args) {
        // 目标：认识多个变量指向同一个数组对象的形式，并掌握其注意事项。
        int[] arr1 = new int[]{11, 22, 33};

        // 把int类型的数组变量arr1赋值给int类型的数组变量arr2
        int[] arr2 = arr1;
        int[] arr3 = new int[]{11, 22, 33};

        System.out.println(arr1); // 地址
        System.out.println(arr2); // 地址 1 == 2
        System.out.println(arr3); // 地址 3 不一样

        System.out.println(arr1 == arr3); // false
        System.out.println(arr1.equals(arr3));
        // 长度   每一个值一一比较
        // 判断 arr1 和 arr3 是否相等
        if  (arr1 == arr3) { // 比较地址
            System.out.println("相等");
        } else if (arr1.length != arr3.length) {
            System.out.println("不相等");
        } else {
            for (int i = 0; i < arr1.length; i ++) {
                if (arr1[i] != arr3[i]) {
                    System.out.println("不相等");
                    break;
                }
                if (i == arr1.length - 1) { // 一直到最后一个元素都没有跳出循环 说明每个都相等
                    System.out.println("相等");
                }
            }
        }
        arr2[1] = 99;
        System.out.println(arr1[1]);

        arr2 = null; // 拿到的数组变量中存储的值是null
        System.out.println(arr2);

//        System.out.println(arr2[0]); 报错
//        System.out.println(arr2.length); 报错
    }
}
